package com.ruoyi.project.system.service;

import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import com.ruoyi.framework.web.domain.AjaxResult;
import com.ruoyi.project.system.domain.SiyuCharge;
import com.ruoyi.project.system.domain.SiyuQuery;
import com.ruoyi.project.system.domain.dto.FeeResult;

import java.util.Date;
import java.util.HashMap;
import java.util.concurrent.ExecutionException;

/**
 * 进件记录Service接口
 */
public interface ISiyuQueryService {

    AjaxResult queryData(SiyuQuery siyuQuery);

    JSONObject reportQuery(JSONObject params);

    JSONObject allReportQuery(SiyuQuery siyuQuery);

    JSONObject authInfoQuery(SiyuQuery siyuQuery);

    String otherInfoQuery(String jfCode, JSONObject params);

    JSONObject marryQuery(SiyuQuery siyuQuery);

    JSONObject onBoardingSurveyQuery(SiyuQuery siyuQuery);

    JSONObject educationQuery(SiyuQuery siyuQuery);

    JSONObject creditEnterpriseQuery(SiyuQuery siyuQuery);

    int addImmovablePropertyQuery(SiyuQuery sysQuery);

    AjaxResult immovablePropert(SiyuQuery siyuQuery);

    int setQueryinfo(Integer productId, Integer queryId, String info, Date nowDate);

    // 基础信息/人脸识别扣费
    void baseFee(SiyuQuery siyuQuery, Long userId);

    AjaxResult fee(SiyuQuery siyuQuery, Long userId);

    FeeResult reportFee(Integer beiDiaoId, Integer productId, Long userId);

    /**
     * 查询进件记录
     *
     * @param queryId 进件记录主键
     * @return 进件记录
     */
    public SiyuQuery selectSiyuQueryByQueryId(Integer queryId);

    /**
     * 新增进件记录
     *
     * @param siyuQuery 进件记录
     * @return 结果
     */
    public int insertSiyuQuery(SiyuQuery siyuQuery);

    /**
     * 修改进件记录
     *
     * @param siyuQuery 进件记录
     * @return 结果
     */
    public int updateSiyuQuery(SiyuQuery siyuQuery);

    /**
     * 批量删除进件记录
     *
     * @param queryIds 需要删除的进件记录主键集合
     * @return 结果
     */
    public int deleteSiyuQueryByQueryIds(Integer[] queryIds);

}
